TCP
连接迭代器,可以使用foreach
遍历服务器当前所有的连接,此属性的功能与Server->getClientList
是一致的,但是更加友好。遍历的元素为单个连接的fd
。
注意$connections
属性是一个迭代器对象,不是PHP
数组,所以不能用var_dump
或者数组下标来访问,只能通过foreach
进行遍历操作。
foreach($server->connections as $fd)
{
$server->send($fd, "hello");
}
echo "当前服务器共有 ".count($server->connections). " 个连接\n";
此属性在
1.7.16
以上版本可用
连接迭代器依赖
pcre
库(不是PHP
的pcre
扩展),未安装pcre
库无法使用此功能
pcre
库的安装方法, http://wiki.swoole.com/wiki/page/312.html
4.1.0以上版本移除了
pcre
依赖
安装好PCRE
库后需要重新编译安装swoole
,然后使用php --ri swoole
查看swoole
扩展相关信息中是否有pcre => enabled
SWOOLE_BASE
模式下不支持跨进程操作TCP
连接,因此在BASE
模式中,只能在当前进程内使用$connections
迭代器。